package sauvaget;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Iterator;

public class IttensTable {
	private Map<EnumColor, Integer> table;
	private Image image;
	
	private final int pY = 3;
	private final int pO = 4;
	private final int pR = 6;
	private final int pV = 9;
	private final int pB = 8;
	private final int pG = 6;

	// apagar
	public IttensTable() {
		table = new HashMap<EnumColor, Integer>();
		table.put(EnumColor.YELLOW, 3);
		table.put(EnumColor.ORANGE, 4);
		table.put(EnumColor.RED, 6);
		table.put(EnumColor.VIOLET, 9);
		table.put(EnumColor.BLUE, 8);
		table.put(EnumColor.GREEN, 6);
	}

	public boolean verifyHarmony2(Image image) {
		Iterator<Color> itera = image.getColors().iterator();

		Color c1 = itera.next();

		System.out.println("Inicio imagem");
		while (itera.hasNext()) {

			Color c2 = itera.next();
			System.out.println(c1.getColorName());
			System.out.println(c2.getColorName());
		}
		return true;
	}
	
	/**
	 * Verificar a harmonia de uma forma generica (para n cores e n possibilidades)
	 */
	public boolean verifyHarmony(Image image) {
		
		if (image.getSizeY() * 3 == image.getSizeG() * 6 &&
				image.getSizeY() * 3 == image.getSizeV() * 9 &&
				image.getSizeY() * 3 == image.getSizeR() * 6 &&
				image.getSizeY() * 3 == image.getSizeO() * 4 &&
				image.getSizeY() * 3 == image.getSizeG() * 6 &&
				image.getSizeY() * 3 == image.getSizeB() * 8 &&
				
				image.getSizeV() * 9 == image.getSizeG() * 6 &&
				image.getSizeV() * 9 == image.getSizeY() * 3 &&
				image.getSizeV() * 9 == image.getSizeR() * 6 &&
				image.getSizeV() * 9 == image.getSizeO() * 4 &&
				image.getSizeV() * 9 == image.getSizeG() * 6 &&
				image.getSizeV() * 9 == image.getSizeB() * 8 &&
				
				image.getSizeR() * 6 == image.getSizeG() * 6 &&
				image.getSizeR() * 6 == image.getSizeY() * 3 &&
				image.getSizeR() * 6 == image.getSizeV() * 9 &&
				image.getSizeR() * 6 == image.getSizeO() * 4 &&
				image.getSizeR() * 6 == image.getSizeG() * 6 &&
				image.getSizeR() * 6 == image.getSizeB() * 8 &&
				
				image.getSizeO() * 4 == image.getSizeG() * 6 &&
				image.getSizeO() * 4 == image.getSizeY() * 3 &&
				image.getSizeO() * 4 == image.getSizeV() * 9 &&
				image.getSizeO() * 4 == image.getSizeR() * 6 &&
				image.getSizeO() * 4 == image.getSizeG() * 6 &&
				image.getSizeO() * 4 == image.getSizeB() * 8 &&
				
				image.getSizeG() * 6 == image.getSizeG() * 6 &&
				image.getSizeG() * 6 == image.getSizeY() * 3 &&
				image.getSizeG() * 6 == image.getSizeV() * 9 &&
				image.getSizeG() * 6 == image.getSizeR() * 6 &&
				image.getSizeG() * 6 == image.getSizeO() * 4 &&
				image.getSizeG() * 6 == image.getSizeB() * 8 &&
				
				image.getSizeB() * 6 == image.getSizeG() * 6 &&
				image.getSizeB() * 6 == image.getSizeY() * 3 &&
				image.getSizeB() * 6 == image.getSizeV() * 9 &&
				image.getSizeB() * 6 == image.getSizeR() * 6 &&
				image.getSizeB() * 6 == image.getSizeO() * 4 &&
				image.getSizeB() * 6 == image.getSizeG() * 6 ) {
			return true;
		} else {
			return false;
		}

	}
	
	/**
	 * Cada imagem tem uma determinada quantidade de pixels de cada cor
	 * E cada cor deve seguir uma proporcao (tabela acima)
	 * O calculo eh feito multiplicando a quantidade de pixels de cada cor
	 * por sua respectiva proporcao :}
	 */
	
	
	/*	private boolean verifyColorHarmony(Color c1, Color c2) {
	if ((table.get(c1.getColorName()) / table.get(c2.getColorName())) == c1.getNumPixels() / c2.getNumPixels())
		return true;

	return false;
}*/

}
